<!-- Giftina：https://giftia.moe -->
<!DOCTYPE html>
<html lang="zh-Hans">
  <head>
    <meta charset="utf-8" />
    <link rel="preload" href="/socket.io/socket.io.js" as="script" />
    <link rel="preload" href="/superplaceholder.min.js" as="script" />
    <link rel="preload" href="/huaji.webp" as="image" />
    <link rel="preload" href="/xiaoye.webp" as="image" />
    <link rel="icon" href="/favicon.ico" />
    <meta
      name="viewport"
      content="width=device-width, height=device-height, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"
    />
    <meta name="format-detection" content="telephone=no" />
    <title>ChatDACS</title>
    <link rel="stylesheet" href="/layim/css/layui.mobile.css" />
    <link rel="stylesheet" href="/layim/css/layui.css" />
    <script async src="/socket.io/socket.io.js"></script>
    <script src="/layim/layui.js"></script>
  </head>

  <!-- <body onmousedown="switchLive2DVisible();"> -->

  <body>
    <!-- <canvas id="live2d" width="225" height="300" class="live2d" style="position: fixed; bottom: 2.5rem; right: -6rem; opacity: 1; z-index: 2147483647; pointer-events: none; visibility: visible;"></canvas> -->
    <script async src="/superplaceholder.min.js"></script>
    <script>
      layui
        .config({
          version: false,
          base: "/layim/plugin/",
        })
        // .use(["mobile", "form", 'live2dbundle', 'live2dcore'], function () {
        .use(["mobile", "form"], function () {
          var mobile = layui.mobile,
            layim = mobile.layim,
            $ = mobile.jquery,
            form = mobile.form,
            layer = mobile.layer,
            myCID = "";
          // resourcesPath = "/live2d/assets/", // 指定资源文件（模型）保存的路径
          // backImageName = "", // 指定背景图片 ,默认为空
          // modelDir = ["xiaoye"]; // 指定需要加载的模型

          // initDefine(resourcesPath, backImageName, modelDir); // 初始化模型

          const socket = io();

          socket.on("getCookie", function (msg) {
            if (!document.cookie) {
              document.cookie =
                "ChatdacsID=" +
                new Date().getTime() +
                ";expires=Fri, 1 Apr 2050 17:00:00 GMT";
              window.location.reload();
            }
            myCID = document.cookie.replace("ChatdacsID=", "");
          });

          socket.on("version", function (msg) {
            document.title = msg;

            socket.on("onlineUsers", function (msg) {
              const online_status =
                document.getElementsByClassName("layim-chat-status")[0];
              online_status.innerHTML = `当前在线:${msg}`;
            });

            layim.config({
              uploadImage: {
                // 上传图片接口
                url: "/upload/image", // （返回的数据格式见下文）
                type: "post", // 默认post
                data: {},
              },
              uploadFile: {
                // 上传文件接口
                url: "/upload/file", // （返回的数据格式见下文）
                type: "post", // 默认post
                data: {},
              },
              init: {
                // 我的信息
                mine: {
                  username: "您", // 我的昵称
                  id: "233", // 我的ID
                  status: "online",
                  avatar: "/huaji.webp", // 我的头像
                  sign: "三点几啦",
                },
                // 我的好友列表
                friend: [
                  {
                    groupname: "系统",
                    id: 1,
                    list: [
                      {
                        username: "系统消息",
                        id: "0",
                        status: "online",
                        avatar: "/favicon.ico",
                        sign: "喂!三点几嚟!做撚啊做,饮茶先啦!",
                      },
                      {
                        username: "记事本",
                        id: "2",
                        status: "online",
                        avatar: "/xiaoye.webp",
                        sign: "可以用来临时备份一些文字资料",
                      },
                    ],
                  },
                  {
                    groupname: "老婆们",
                    id: 2,
                    list: [
                      {
                        username: "湊-阿库娅",
                        id: "375504219",
                        status: "online",
                        avatar:
                          "/images/a7195c09c6ba4722966d745d6f692035d3fe4d95.jpg@128w_128h_1o.webp",
                        sign: "虚拟女仆、湊(みなと)あくあ！",
                      },
                      {
                        username: "泠鸢yousa",
                        id: "282994",
                        status: "online",
                        avatar:
                          "/images/28f95c383f2805dbed32e93007c91ccfda28775f.jpg@128w_128h_1o.webp",
                        sign: "泠鸢yousa不是冷鸢、纸鸟、冰鸽",
                      },
                      {
                        username: "常陆茉子",
                        id: "114514",
                        status: "online",
                        avatar:
                          "/images/c70fe35d0f06643a57f626e4872831f159e75953.jpg@128w_128h_1o.webp",
                        sign: "坐立不安…不知所措…慌慌张张…手忙脚乱…",
                      },
                      {
                        username: "艾拉",
                        id: "602300",
                        status: "offline",
                        avatar:
                          "/images/524a779495921aaa2746a8191a198ac7c9c2a301.jpg@128w_128h_1o.webp",
                        sign: "愿终有一天，能和你重要的人重逢。",
                      },
                      {
                        username: "墨小菊",
                        id: "5201314",
                        status: "online",
                        avatar:
                          "/images/fac046e70e003b431c700c730e93f475312183f8.jpg@128w_128h_1o.webp",
                        sign: "那是，至今为止都不曾体会的懵懂。",
                      },
                    ],
                  },
                ],
                group: [
                  {
                    groupname: "小夜",
                    id: "101",
                    avatar: "/xiaoye.webp",
                    sign: "主要聊天界面转移到了这里",
                  },
                  {
                    groupname: "开车群",
                    id: "102",
                    avatar: "/huaji.webp",
                    sign: "喂!三点几嚟!做撚啊做,饮茶先啦!",
                  },
                ],
              },

              // 扩展聊天面板工具栏
              tool: [
                {
                  alias: "help",
                  title: "帮助",
                  iconUnicode: "&#xe607;",
                },
                {
                  alias: "xiaoye",
                  title: "召唤小夜",
                  iconUnicode: "&#xe606;",
                },
                {
                  alias: "cos",
                  title: "随机cos",
                  iconUnicode: "&#xe661;",
                },
                {
                  alias: "tbshow",
                  title: "随机买家秀",
                  iconUnicode: "&#xe662;",
                },
                {
                  alias: "ecy",
                  title: "随机二次元图",
                  iconUnicode: "&#xe66a;",
                },
                {
                  alias: "r18",
                  title: "r18",
                  iconUnicode: "&#xe756;",
                },
                {
                  alias: "link",
                  title: "发送链接",
                  iconUnicode: "&#xe64c;",
                },
              ],

              // 扩展更多列表
              moreList: [
                {
                  alias: "mineWar",
                  title: "地 雷 战（开发中）",
                  iconUnicode: "&#xe66c;", // 图标字体的unicode，可不填
                  iconClass: "", // 图标字体的class类名
                },
                {
                  alias: "bonus",
                  title: "彩蛋",
                  iconUnicode: "&#xe664;",
                  iconClass: "",
                },
                {
                  alias: "reload",
                  title: "重生",
                  iconUnicode: "&#xe682;",
                  iconClass: "",
                },
                {
                  alias: "settings",
                  title: "设置",
                  iconUnicode: "&#xe620;",
                  iconClass: "",
                },
                {
                  alias: "about",
                  title: "关于",
                  iconUnicode: "&#xe60b;",
                  iconClass: "",
                },
                {
                  alias: "thanks",
                  title: "致谢",
                  iconUnicode: "&#xe68c;",
                  iconClass: "",
                },
              ],

              voice: "/ding.mp3", // 声音提醒文件位置
              notice: 1, // 是否开启桌面消息提醒，即在浏览器之外的提醒
              maxLength: 3000, // 可允许的消息最大字符长度
              tabIndex: 0, // 用户设定初始打开的Tab项下标
              isNewFriend: 0, // 是否开启“新的朋友”
              isgroup: 1, // 是否开启“群聊”
              chatTitleColor: "#edbc28", // 顶部Bar颜色
              title: msg, // 标题
              copyright: 1, // layui已不限制授权使用
            });
          });

          layim.on("ready", function (options) {
            layim.showNew("More", true);
            layim.showNew("about", true);
          });

          // 工具栏-召唤小夜
          layim.on("tool(xiaoye)", function (insert, send) {
            insert("小夜"); // 将内容插入到编辑器
            send();
          });

          // 工具栏-cos
          layim.on("tool(cos)", function (insert, send) {
            insert("cos图");
            send();
          });

          // 工具栏-ecy
          layim.on("tool(ecy)", function (insert, send) {
            insert("随机二次元图");
            send();
          });

          // 工具栏-tbshow
          layim.on("tool(tbshow)", function (insert, send) {
            insert("买家秀");
            send();
          });

          // 工具栏-r18
          layim.on("tool(r18)", function (insert, send) {
            insert("可以色色");
            send();
          });

          // 工具栏-帮助
          layim.on("tool(help)", function (insert, send) {
            insert("帮助");
            send();
          });

          // 工具栏-发送链接
          layim.on("tool(link)", function (insert, send) {
            insert("a(https://docs.giftia.moe/)[星野夜蝶 使用文档]");
          });

          // 更多菜单
          layim.on("moreList", function (obj) {
            switch (obj.alias) {
              case "mineWar":
                window.location.href = "/mineWar.html";
                break;
              case "bonus":
                layer.msg("好像有人给你发了一条消息，回消息界面看看吧");
                layim.getMessage({
                  username: "湊-阿库娅",
                  avatar:
                    "/images/a7195c09c6ba4722966d745d6f692035d3fe4d95.jpg@128w_128h_1o.webp",
                  id: "375504219",
                  type: "friend",
                  content: "老公！",
                });
                break;
              case "reload":
                layer.open({
                  content:
                    "点击确定重生，你将会被强制删档，抹除所有聊天记录，以新人身份重新进入，确定吗？",
                  btn: ["取消", "确定重生"],
                  skin: "footer",
                  no: function (index) {
                    layer.open({ content: "执行删档操作，用户已被删除" });
                    window.localStorage.clear();
                    window.location.reload();
                    document.cookie =
                      "ChatdacsID=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
                  },
                });
                break;
              case "settings":
                socket.emit("getSettings");
                socket.on("settings", function (data) {
                  layim.panel({
                    title: "设置",
                    tpl: `<div style="padding: 10px">
  <form class="layui-form" action="/profile">
    <div class="layui-form-item">
      <label class="layui-form-label">CID</label>
      <div class="layui-input-block">
        <input type="message" name="CID" required placeholder={{d.data.CID}} class="layui-input" value={{d.data.CID}} />
        <div class="layui-form-mid layui-word-aux">用户唯一标识，不要乱改啊</div>
      </div>
    </div>
    <div class="layui-form-item">
      <label class="layui-form-label">昵称</label>
      <div class="layui-input-block">
        <input type="message" name="name" required placeholder="请输入昵称" class="layui-input" value={{d.data.name}} />
        <div class="layui-form-mid layui-word-aux">1-10长度的数英汉昵称</div>
      </div>
    </div>
    <div class="layui-form-item layui-form-text">
      <label class="layui-form-label">个性签名</label>
      <div class="layui-input-block">
        <textarea name="desc" placeholder="人生就像一场旅行，不必在意目的地，在乎的是沿途的风景和看风景的心情" class="layui-textarea"></textarea>
      </div>
    </div>
    <div class="layui-form-item">
      <div class="layui-input-block">
        <button class="layui-btn" lay-submit lay-filter="profile">提交</button>
      </div>
    </div>
  </form>
</div>`,
                    data: {
                      name: data.name,
                      CID: data.CID,
                    },
                  });
                });
                break;
              case "about":
                window.open("https://docs.giftia.moe/");
                break;
              case "thanks":
                window.open("https://docs.giftia.moe/thanks/");
                break;
              default:
                break;
            }
          });

          // 监听发送消息
          layim.on("sendMessage", function (data) {
            socket.emit("message", { CID: myCID, msg: data.mine.content });
          });

          // 接收消息
          socket.on("message", function (message) {
            switch (message.CID) {
              case "0": // 小夜回复的消息
                layim.getMessage({
                  username: "小夜",
                  avatar: "/xiaoye.webp",
                  id: "101",
                  type: "group",
                  mine: 0,
                  content: message.msg,
                });
                break;
              case myCID: // 自己发送的消息
                break;
              default: // 其他人发送的消息
                username = message.name;
                layim.getMessage({
                  username: username,
                  avatar: "/xiaoye.webp",
                  id: "101",
                  type: "group",
                  mine: 0,
                  content: message.msg,
                });
                break;
            }
          });

          // 接收图片消息
          socket.on("picture", function (message) {
            layim.getMessage({
              username: "小夜",
              avatar: "/xiaoye.webp",
              id: "101",
              type: "group",
              mine: 0,
              content: `img[${message.content}]`,
            });
          });

          // 接收视频消息
          socket.on("video", function (message) {
            layim.getMessage({
              username: "小夜",
              avatar: "/xiaoye.webp",
              id: "101",
              type: "group",
              mine: 0,
              content: `video[${message.content.file}](${message.content.filename})`,
            });
          });

          // 接收音频消息
          socket.on("audio", function (message) {
            layim.getMessage({
              username: "小夜",
              avatar: "/xiaoye.webp",
              id: "101",
              type: "group",
              mine: 0,
              content: `audio[${message.content.file}](${message.content.filename})`,
            });
          });

          // 接收文件消息
          socket.on("file", function (message) {
            layim.getMessage({
              username: "小夜",
              avatar: "/xiaoye.webp",
              id: "101",
              type: "group",
              mine: 0,
              content: `file(${message.content.file})[${message.content.filename}]`,
            });
          });

          // 接收系统消息
          socket.on("system", function (message) {
            layim.getMessage({
              username: "系统消息",
              avatar: "/favicon.ico",
              id: "0",
              type: "kefu",
              mine: 0,
              content: message,
            });
          });

          // 接收qq图片消息
          socket.on("qqImage", function (message) {
            layim.getMessage({
              username: "系统消息",
              avatar: "/favicon.ico",
              id: "0",
              type: "kefu",
              mine: 0,
              content: `img[${message}]`,
            });
          });

          // 接收qq视频消息
          socket.on("qqVideo", function (message) {
            layim.getMessage({
              username: "系统消息",
              avatar: "/favicon.ico",
              id: "0",
              type: "kefu",
              mine: 0,
              content: `video[${message.file}](${message.filename})`,
            });
          });

          // 查看群聊信息
          layim.on("detail", function (data) {
            console.log(data); // 获取当前会话对象
            layim.panel({
              title: data.name + " 群信息", // 标题
              tpl:
                '<div style="padding: 10px;">' +
                data.cid +
                "{{d.data.test}}</div>", // 模版
              data: {
                // 数据
                test: "?",
              },
            });
          });

          // 监听查看更多记录
          layim.on("chatLog", function (data, ul) {
            console.log(data); // 得到当前会话对象的基本信息
            console.log(ul); // 得到当前聊天列表所在的ul容器，比如可以借助他来实现往上插入更多记录

            // 弹出一个更多聊天记录面板
            layim.panel({
              title: "与 " + data.username + " 的聊天记录", // 标题
              tpl: "聊天记录：{{d.data.test}}", // 模版
              data: {
                // 数据
                test: "Hello",
              },
            });
          });

          // 监听聊天窗口的切换
          layim.on("chatChange", function (data) {
            const text = document.getElementsByTagName("input")[0],
              btn = document.getElementsByTagName("button")[0],
              typing_status =
                document.getElementsByClassName("layim-chat-status")[1];

            text.setAttribute("oninput", "typing()");

            socket.on("typing", function (msg) {
              if (text != "") typing_status.innerHTML = msg;
            });

            typing = function () {
              socket.emit("typing");
            };

            btn.setAttribute("onclick", "typingOver()");

            typingOver = function () {
              socket.emit("typingOver");
            };

            // 仅在小夜聊天轮播placeholder，展示可用命令
            if (data.data.id == "101") {
              superplaceholder({
                el: document.querySelector("input"),
                sentences: [
                  "画师算命",
                  "说不出话 ？",
                  "推送我晚上要手冲",
                  "问：HELLO 答：WORLD",
                  "cp 小夜 小雫",
                  "赛博朋克",
                  "名场面 不能逃避",
                  "报错 插件爆炸了",
                  "最新本子",
                  "人生重开",
                  "今天不带套",
                  "喵嗷嗷嗷嗷呜~嗷呜喵嗷喵嗷嗷~嗷嗷嗷~",
                  "/ping",
                  "/迫害 寄 寄啦",
                  "prpr 嘉然",
                  "qr 114514",
                  "让我康康",
                  "[某条消息重复了2次]",
                  "roll",
                  "提醒我晚上要手冲",
                  "系统状态",
                  "弹窗 您可能是盗版软件的受害者",
                  "吠 你好谢谢小笼包再见",
                  "个人信息",
                ],
                options: {
                  letterDelay: 100,
                  sentenceDelay: 2000,
                  loop: true,
                  shuffle: true,
                  startOnFocus: false,
                },
              });
            }
          });
        });

      // function switchLive2DVisible() {
      //   const live2d = document.getElementById("live2d");
      //   live2d.style.visibility =
      //     live2d.style.visibility == "hidden" ? "visible" : "hidden";
      // }
    </script>
  </body>
</html>
